package org.jeecg.modules.xs.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 私域用户
 * @Author: sss
 * @Date:   2022-02-24
 * @Version: V1.0
 */
@Data
@TableName("xs_private_user")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="xs_private_user对象", description="私域用户")
public class PrivateUser implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**手机号*/
	@Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
    private java.lang.String mobile;
	/**用户类型*/
	@Excel(name = "用户类型", width = 15, dicCode = "xs_user_type")
	@Dict(dicCode = "xs_user_type")
    @ApiModelProperty(value = "用户类型")
    private java.lang.Integer userType;
	/**密码*/
	@Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
    private java.lang.String password;
	/**加密验证字符*/
	@Excel(name = "加密验证字符", width = 15)
    @ApiModelProperty(value = "加密验证字符")
    private java.lang.String salt;
	/**启用禁用*/
	@Excel(name = "启用禁用", width = 15, dicCode = "xs_use_status")
	@Dict(dicCode = "xs_use_status")
    @ApiModelProperty(value = "启用禁用")
    private java.lang.Integer useStatus;
	/**用户头像*/
	@Excel(name = "用户头像", width = 15)
    @ApiModelProperty(value = "用户头像")
    private java.lang.String userImg;
	/**用户昵称*/
	@Excel(name = "用户昵称", width = 15)
    @ApiModelProperty(value = "用户昵称")
    private java.lang.String nickName;
	/**性别*/
	@Excel(name = "性别", width = 15, dicCode = "sex")
	@Dict(dicCode = "sex")
    @ApiModelProperty(value = "性别")
    private java.lang.Integer sex;
	/**所在地区*/
	@Excel(name = "所在地区", width = 15)
    @ApiModelProperty(value = "所在地区")
    private java.lang.String address;
	/**关注数*/
	@Excel(name = "关注数", width = 15)
    @ApiModelProperty(value = "关注数")
    private java.lang.Integer followCount;
	/**三方登录id*/
	@Excel(name = "三方登录id", width = 15)
    @ApiModelProperty(value = "三方登录id")
    private java.lang.String thirdId;
	/**微信登录的id*/
	@Excel(name = "微信登录的id", width = 15)
    @ApiModelProperty(value = "微信登录的id")
    private java.lang.String openId;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;

    /** 微信用户json信息 */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private WechatUser wxProfile;

    @ApiModelProperty(value = "推荐人")
    private String spreadId;
}
